import Vue from 'vue'
import VueRouter from 'vue-router'
// import Home from '../views/Home.vue'

Vue.use(VueRouter)

  const routes = [
    {
      path: '/login',
      name: 'login',
      meta: { title: '登录' },
      component: () => import('../components/Login.vue'),
  },
  {
    path: '/',
    name: 'Home',
    redirect: '/home' 
  }
]

const createRouter = () => new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes: routes
})

const router = createRouter()

export default router

export function resetRouter() {
  const newRouter = createRouter()
  router.matcher = newRouter.matcher
}


// 本地所有的页面 需要配合后台返回的数据生成页面 Elment.vue
export const asyncRoutes = {
  home: {
      path: 'home',
      name: 'home',
      meta: { title: '主页' },
      component: () => import('../views/Home.vue'),
  },


  elment_1: {//隐藏事件
    path: '/elment_1', // 点击侧边栏跳到一个单独的路由页面，需要定义，层级和其他顶级路由一样
    name: 'elment_1',
    component: () => import('../views/module/Elment_1_hide.vue'),
  },
  elment_Layout: {//框架
    path: '/elment_Layout', // 点击侧边栏跳到一个单独的路由页面，需要定义，层级和其他顶级路由一样
    name: 'elment_Layout',
    component: () => import('../views/module/Elment_2_Layout.vue'),
  },
 elment_icon: {//图标
    path: '/elment_icon', // 点击侧边栏跳到一个单独的路由页面，需要定义，层级和其他顶级路由一样
    name: 'elment_icon',
    component: () => import('../views/module/Elment_3_icon.vue'),
  },
  elment_button: {//按钮 + 链接 
    path: '/elment_button', // 点击侧边栏跳到一个单独的路由页面，需要定义，层级和其他顶级路由一样
    name: 'elment_button',
    component: () => import('../views/module/Elment_4_button.vue'),
  },
  elment_select: {//选择按钮 Elment_select  Elment_input.vue
    path: '/elment_select', // 点击侧边栏跳到一个单独的路由页面，需要定义，层级和其他顶级路由一样
    name: 'elment_select',
    component: () => import('../views/module/Elment_5_select.vue'),
  },
  elment_input: {//输入框  Elment_input.vue
    path: '/elment_input', // 点击侧边栏跳到一个单独的路由页面，需要定义，层级和其他顶级路由一样
    name: 'elment_input',
    component: () => import('../views/module/Elment_6_input.vue'),
  },
  elment_input_number: {//输入框  Elment_input.vue
    path: '/elment_input_number', // 点击侧边栏跳到一个单独的路由页面，需要定义，层级和其他顶级路由一样
    name: 'elment_input_number',
    component: () => import('../views/module/Elment_7_InputNumber .vue'),
  },
  elment_select2: {//输入框  Elment_input.vue
    path: '/elment_select2', // 点击侧边栏跳到一个单独的路由页面，需要定义，层级和其他顶级路由一样
    name: 'elment_select2',
    component: () => import('../views/module/Elment_8_select.vue'),
  },
  elment_cascader: {//级联选择
    path: '/elment_cascader', // 点击侧边栏跳到一个单独的路由页面，需要定义，层级和其他顶级路由一样
    name: 'elment_cascader',
    component: () => import('../views/module/Elment_9_Cascader.vue'),
  },
  elment_swith: {//Switch 开关
    path: '/elment_swith', // 点击侧边栏跳到一个单独的路由页面，需要定义，层级和其他顶级路由一样
    name: 'elment_swith',
    component: () => import('../views/module/Elment_10_Switch.vue'),
  },
  elment_table: {//Switch 开关
    path: '/elment_table', // 点击侧边栏跳到一个单独的路由页面，需要定义，层级和其他顶级路由一样
    name: 'elment_table',
    component: () => import('../views/module/Elment_11_table.vue'),
  },
  elment_table2: {//Switch 开关
    path: '/elment_table2', // 点击侧边栏跳到一个单独的路由页面，需要定义，层级和其他顶级路由一样
    name: 'elment_table2',
    component: () => import('../views/module/Elment_12_table2.vue'),
  },
  chat: {//Switch 开关
    path: '/chat', // 点击侧边栏跳到一个单独的路由页面，需要定义，层级和其他顶级路由一样
    name: 'chat',
    component: () => import('../views/chat/chat.vue'),
  },






  other: {
      path: '/other', // 点击侧边栏跳到一个单独的路由页面，需要定义，层级和其他顶级路由一样
      name: 'other',
      meta: { title: '单独的路由' },
      component: () => import('../views/module/Other.vue'),
  },
  t1: {
      path: 't1',
      name: 't1',
      meta: { title: '表格' },
      component: () => import('../views/module/T1.vue'),
  },
  password: {
      path: 'password',
      name: 'password',
      meta: { title: '修改密码' },
      component: () => import('../views/module/Password.vue'),
  },
  msg: {
      path: 'msg',
      name: 'msg',
      meta: { title: '通知消息' },
      component: () => import('../views/module/Msg.vue'),
  },
  userinfo: {
      path: 'userinfo',
      name: 'userinfo',
      meta: { title: '用户信息' },
      component: () => import('../views/module/UserInfo.vue'),
  },
}
